package com.amado.easyui2.dao;

import java.util.List;

import com.amado.easyui2.domain.User;
import com.amado.easyui2.vo.Page;

public interface UserDao {
	/**
	 * 添加用户
	 * 
	 * @param user
	 * @return
	 */
	public int add(User user);

	/**
	 * 删除用户
	 * 
	 * @param id
	 * @return
	 */
	public int delete(Long id);

	/**
	 * 修改用户信息
	 * 
	 * @param user
	 * @return
	 */
	public int update(User user);
	
	/**
	 * 修改用户信息
	 * 
	 * @param user
	 * @return
	 */
	public default int updatePassword(String userName,String password) {
		return 0;
	}

	/**
	 * 条件查询用户数量
	 * 
	 * @param departNum
	 * @param userName
	 * @return
	 */
	public int listAllCount(String departNum, String userName);

	/**
	 * 分页查询所有用户
	 * 
	 * @param departNum
	 * @param userName
	 * @param page
	 * @return
	 */
	List<User> listAll(String departNum, String userName, Page page);

	/**
	 * 查询所有用户
	 * 
	 * @return
	 */
	public List<User> list();

	/**
	 * 用户登录
	 * 
	 * @param user
	 * @return
	 */
	public List<User> login(User user);

	/**
	 * 根据用户名密码查询
	 * 
	 * @param userName
	 * @param userPassword
	 * @return
	 */
	User getBy(String userName);
	
	/**
	 * 根据用户名密码查询
	 * 
	 * @param userName
	 * @param userPassword
	 * @return
	 */
	default User getById(Long id) {
		return null;
	}
	
	/**
	 * 查询部门下的用户人数
	 * @param deptNumber 部门编辑
	 * @return 用户人数
	 */
	default Integer selectCountByDeptNumber(String deptNumber) {
		return 0;
	}
	/**
	 * 查询用户名
	 * @param userName
	 * @return
	 */
//    default User getByName(String userName) {
//		return null;
//    	
//    }
}
